package cn.operation.backend.service.baseSeries;



import cn.operation.backend.bo.CvSeriesBO;
import cn.operation.backend.bo.baseBrand.SeriesQueryBo;
import cn.operation.backend.query.SeriesQueryConditions;
import cn.operation.backend.util.PageVo;
import cn.operation.backend.util.ResultDTOWithPagination;
import cn.operation.base.model.ScBaseCvSeries;
import org.springframework.validation.BindingResult;

import java.util.List;

/**
 * The interface
 *
 * @FileName:
 * @Description:
 * @author:
 * @date: 2017 /05/27 上午9:04
 */
public interface SeriesService {

    /**
     *
     * @param pageVo
     * @param
     * @return
     */
    ResultDTOWithPagination<Object> selectListByConditions(PageVo pageVo, SeriesQueryConditions conditions) throws Exception;

    /**
     *
     * @param form
     * @param br
     * @return
     * @throws Exception
     */
    Integer addSeries(CvSeriesBO form, BindingResult br) throws Exception;

    /**
     *
     * @param id
     * @return
     */
    ScBaseCvSeries selectSeriesById(Integer id);

    /**
     *
     * @param form
     * @param br
     * @return
     * @throws Exception
     */
    Integer seriesUpdate(CvSeriesBO form, BindingResult br)  throws Exception;


    /**
     *
     * @param ids
     * @return
     * @throws Exception
     */
    int deleteSeriesBatch(List ids) throws Exception;


    /**
     *
     * @param conditions
     * @return
     */
    Integer selectCountList(SeriesQueryConditions conditions);

    /**
     *
     * @param pageVo
     * @param conditions
     * @return
     */
    List<ScBaseCvSeries>  getAllList(PageVo pageVo, SeriesQueryConditions conditions);


    /**
     * 查询所有车系
     * @return
     * @throws Exception
     */
    List<ScBaseCvSeries> selectAllSeries() throws Exception;

    /**
     * 查询单个或多个车系接口
     * @param pageVo
     * @param conditions
     * @return
     */
    public List<ScBaseCvSeries> getByCondition(PageVo pageVo, SeriesQueryBo conditions) throws Exception;

}
